<?php
/**
 * 
 * 
 * @author Rosanna Paberli Jimenez R.
 *
 */
class VtCompaniaModel extends model
{
	private $_nameTable = "VT_Compania";
	
	public function __construct()
	{
		parent::Model();
	}
	
	public function loadRegistros($start = false, $offset = false, $sortname = false, $sortorder = false)
	{
		
		 if($offset != false){
               $this->db->limit($offset, $start);
         }
		      
		 if($sortname != false && $sortorder != false){
		        $this->db->order_by($sortname, $sortorder);
		 }
		 
		$query = $this->db->get($this->_nameTable);
		return $this->_getQueryFromResult($query);
		
	}
	
	public function loadCompaniaById($idCompania)
	{
		
		$query = $this->db->get_where($this->_nameTable, array('IdCompania' => $idCompania));
		
		if($query->num_rows() == 0)
			return false;
		
		return new TableCompaniaVT($query->row());
		
	}
	
	private function _getQueryFromResult($resultado)
	{
		if($resultado->num_rows() == 0){
			
			return false;
		}

		$registros = array();
		
		foreach ($resultado->result() as $record){
			$registros[] = new TableCompaniaVT($record);
		}
		
		return $registros;
	}
	
	
	public function addRegistro($data)
	{
		 if($this->db->insert($this->_nameTable, $data)){
		 	
		 	return true;
		 	
		 }
		 
		    return false;
	}
	
   public function upDateRegistro($data, $id)
	{	
		if($this->db->update($this->_nameTable, $data, array('IdCompania' => $id))){
			return true;
		}
			return false;
	}
	
	public function deleteRegistro($id)
	{
		if($this->db->delete($this->_nameTable, array("IdCompania" => $id))){
			
			return true;
		}
			return false;
	}
}


class TableCompaniaVT
{
	private $_idCompania;
	private $_referencia;
	private $_tipo;
	private $_fechaRegistro;
	private $_fechaSistema;
	private $_horaSistema;
	private $_etapa;
	private $_usuario;
	private $_responsable;
	
	
	public function __construct($dataObjeto)
	{
		$this->_idCompania = $dataObjeto->IdCompania;
		$this->_referencia = $dataObjeto->Referencia;
		$this->_tipo = $dataObjeto->Tipo;
		$this->_fechaRegistro = $dataObjeto->FechaRegistro;
		$this->_fechaSistema = $dataObjeto->FechaSistema;
		$this->_horaSistema = $dataObjeto->TimeSistema;
		$this->_etapa = $dataObjeto->Etapa;
		$this->_usuario = $dataObjeto->Usuario;
		$this->_responsable = $dataObjeto->Responsable;
	}
	
	
	public function getIdCompania()
	{
		return $this->_idCompania;
	}
	
	public function getReferencia()
	{
		return $this->_referencia;
	}
	
	public function getTipo()
	{
		return $this->_tipo;
	}
	
	public function getFechaRegistro()
	{
		return $this->_fechaRegistro;
	}
	
	public function getFechaSistema()
	{
		return $this->_fechaSistema;
	}
	
	public function getHoraSistema()
	{
		return $this->_horaSistema;
	}
	
	public function getEtapa()
	{
		return $this->_etapa;
	}
	
	public function getUsuario()
	{
		return $this->_usuario;
	}
	
	public function getResponsable()
	{
		return $this->_responsable;
	}
	
}